/**
 * 主题样式
 * @description 定义不同主题下的样式规则
 */

/* 默认浅色主题 */
.theme-light {
  color-scheme: light;
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
}

/* 深色主题 */
.theme-dark {
  color-scheme: dark;
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
}

/* 自动主题（跟随系统） */
.theme-auto {
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  .theme-auto {
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
  }
}

/* 主题切换动画 */
.theme-transition {
  transition: background-color var(--transition-normal),
              color var(--transition-normal),
              border-color var(--transition-normal);
}

/* 组件主题样式 */

/* 卡片主题 */
.card-theme {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border-secondary);
  box-shadow: var(--shadow-sm);
}

.card-theme:hover {
  box-shadow: var(--shadow-md);
}

/* 按钮主题 */
.btn-theme-primary {
  background-color: var(--color-primary);
  color: #ffffff;
  border: 1px solid var(--color-primary);
}

.btn-theme-primary:hover {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

.btn-theme-primary:active {
  background-color: var(--color-primary-active);
  border-color: var(--color-primary-active);
}

.btn-theme-secondary {
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  border: 1px solid var(--color-border-primary);
}

.btn-theme-secondary:hover {
  background-color: var(--color-bg-secondary);
  border-color: var(--color-primary);
  color: var(--color-primary);
}

/* 输入框主题 */
.input-theme {
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  border: 1px solid var(--color-border-primary);
}

.input-theme:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-light);
}

.input-theme::placeholder {
  color: var(--color-text-tertiary);
}

/* 表格主题 */
.table-theme {
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
}

.table-theme th {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-secondary);
  border-bottom: 1px solid var(--color-border-secondary);
}

.table-theme td {
  border-bottom: 1px solid var(--color-border-tertiary);
}

.table-theme tr:hover {
  background-color: var(--color-bg-tertiary);
}

/* 导航主题 */
.nav-theme {
  background-color: var(--color-bg-primary);
  border-bottom: 1px solid var(--color-border-secondary);
}

.nav-item-theme {
  color: var(--color-text-secondary);
}

.nav-item-theme:hover {
  color: var(--color-primary);
  background-color: var(--color-primary-light);
}

.nav-item-theme.active {
  color: var(--color-primary);
  background-color: var(--color-primary-light);
}

/* 侧边栏主题 */
.sidebar-theme {
  background-color: var(--color-bg-primary);
  border-right: 1px solid var(--color-border-secondary);
}

/* 模态框主题 */
.modal-theme {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border-secondary);
  box-shadow: var(--shadow-xl);
}

.modal-backdrop-theme {
  background-color: rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .modal-backdrop-theme {
  background-color: rgba(0, 0, 0, 0.65);
}

/* 下拉菜单主题 */
.dropdown-theme {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border-secondary);
  box-shadow: var(--shadow-lg);
}

.dropdown-item-theme {
  color: var(--color-text-primary);
}

.dropdown-item-theme:hover {
  background-color: var(--color-bg-secondary);
  color: var(--color-primary);
}

/* 工具提示主题 */
.tooltip-theme {
  background-color: var(--color-text-primary);
  color: var(--color-bg-primary);
  box-shadow: var(--shadow-md);
}

/* 加载状态主题 */
.loading-theme {
  color: var(--color-primary);
}

/* 空状态主题 */
.empty-theme {
  color: var(--color-text-tertiary);
}

/* 错误状态主题 */
.error-theme {
  color: var(--color-error);
  background-color: rgba(255, 77, 79, 0.1);
  border: 1px solid rgba(255, 77, 79, 0.3);
}

/* 成功状态主题 */
.success-theme {
  color: var(--color-success);
  background-color: rgba(82, 196, 26, 0.1);
  border: 1px solid rgba(82, 196, 26, 0.3);
}

/* 警告状态主题 */
.warning-theme {
  color: var(--color-warning);
  background-color: rgba(250, 173, 20, 0.1);
  border: 1px solid rgba(250, 173, 20, 0.3);
}

/* 课程颜色主题 */
.course-color-1 { background-color: var(--course-color-1); }
.course-color-2 { background-color: var(--course-color-2); }
.course-color-3 { background-color: var(--course-color-3); }
.course-color-4 { background-color: var(--course-color-4); }
.course-color-5 { background-color: var(--course-color-5); }
.course-color-6 { background-color: var(--course-color-6); }
.course-color-7 { background-color: var(--course-color-7); }
.course-color-8 { background-color: var(--course-color-8); }
.course-color-9 { background-color: var(--course-color-9); }
.course-color-10 { background-color: var(--course-color-10); }

/* 高对比度模式 */
@media (prefers-contrast: high) {
  .card-theme {
    border-width: 2px;
  }
  
  .btn-theme-primary,
  .btn-theme-secondary {
    border-width: 2px;
    font-weight: var(--font-weight-semibold);
  }
  
  .input-theme {
    border-width: 2px;
  }
}

/* 减少动画模式 */
@media (prefers-reduced-motion: reduce) {
  .theme-transition {
    transition: none;
  }
  
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* 打印模式主题 */
@media print {
  .theme-light,
  .theme-dark,
  .theme-auto {
    background-color: white !important;
    color: black !important;
  }
  
  .card-theme {
    border: 1px solid black !important;
    box-shadow: none !important;
  }
}